<?php

/**
 * Description of UsuarioModeo
 *
 * @author Pedro Giacometto
 */
require_once 'Usuario.php';

class UsuarioModelo
{

    private $_listadoUsuario;

    public function __construct()
    {
        $this->_listadoUsuario = new ArrayObject();

        $this->_listadoUsuario->append(new Usuario(1, 'Pedro', 'Giacometto','cero@admin'));
        $this->_listadoUsuario->append(new Usuario(2, 'Jose', 'Gomez','cero@admin'));
        $this->_listadoUsuario->append(new Usuario(3, 'Dario', 'Vivas','cero@admin'));
        $this->_listadoUsuario->append(new Usuario(4, 'Juan', 'Torres','cero@admin'));
        $this->_listadoUsuario->append(new Usuario(5, 'Rodolfo', 'Bernal','cero@admin'));
        $this->_listadoUsuario->append(new Usuario(6, 'Brenda', 'Gonzales','cero@admin'));
        $this->_listadoUsuario->append(new Usuario(7, 'Greysa', 'Valderrama','cero@admin'));
        $this->_listadoUsuario->append(new Usuario(8, 'Camila', 'Sexto','cero@admin'));
        $this->_listadoUsuario->append(new Usuario(9, 'Luis', 'Morales','cero@admin'));
        $this->_listadoUsuario->append(new Usuario(10, 'Flor', 'Paez','cero@admin'));
        $this->_listadoUsuario->append(new Usuario(11, 'Pablo', 'Giacometto','cero@admin'));
        $this->_listadoUsuario->append(new Usuario(12, 'Jose', 'Gomez','cero@admin'));
        $this->_listadoUsuario->append(new Usuario(13, 'Dario', 'Vivas','cero@admin'));
        $this->_listadoUsuario->append(new Usuario(14, 'Juan', 'Torres','cero@admin'));
        $this->_listadoUsuario->append(new Usuario(15, 'Rodolfo', 'Bernal','cero@admin'));
        $this->_listadoUsuario->append(new Usuario(16, 'Brenda', 'Gonzales','cero@admin'));
        $this->_listadoUsuario->append(new Usuario(17, 'Greysa', 'Valderrama','cero@admin'));
        $this->_listadoUsuario->append(new Usuario(18, 'Camila', 'Sexto','cero@admin'));
        $this->_listadoUsuario->append(new Usuario(19, 'Luis', 'Morales','cero@admin'));
        $this->_listadoUsuario->append(new Usuario(20, 'Flor', 'Paez','cero@admin'));
    }

    public function obtenerTodos()
    {
        return $this->_listadoUsuario;
    }

    public function obtenerPorId($id)
    {
        if ($id) {
            foreach ($this->_listadoUsuario as $usuario) {

                if ($usuario->getId() == $id) {
                    return $usuario;
                    break;
                }
            }
        }
    }

    public function buscarPorNombre($nombre)
    {
        if ($nombre) {
            $result = new ArrayObject();

            foreach ($this->_listadoUsuario as $usuario) {

                if (preg_match("/$nombre/i", $usuario->getNombre())) {

                    $result->append($usuario);
                }
            }
            return $result;
        }
    }

}

